Skaner kodów kreskowych w sieci
Skany kodów kreskowych ze źródeł internetowych często wymagają obsługi danych obrazów jako ciągów tekstowych zamiast plików fizycznych. Główną zaletą tego podejścia jest to, że pozwala ono Twojej aplikacji przetwarzać obrazy bezpośrednio z przesyłek użytkownika lub strumieni z kamer internetowych bez ich wcześniejszego zapisywania na dysku.
W tym przykładzie kodu zademonstrujemy główny fragment kodu, który pokazuje, jak przekonwertować ciąg Base64 z powrotem na obraz i zeskanować go w poszukiwaniu danych za pomocą IronBarcode, gdy jest zintegrowany z platformą internetową, taką jak Blazor.
5-stopniowy przewodnik po konfiguracji sieciowego skanera kodów kreskowych IronBarcode
- byte[] imagebyteData = Convert.FromBase64String((splitObject.Length > 1) ? splitObject[1] : splitObject[0]);
- using (var ms = new MemoryStream(imagebyteData))
- Image barcodeImage = Image.FromStream(ms);
- var results = BarcodeReader.Read(barcodeImage);
- return "${DateTime.Now}: Kod kreskowy to (${results[0].Value})";
Wyjaśnienie kodu
Najpierw ciąg wejściowy, zazwyczaj ciąg Base64, jest konwertowany na tablicę bajtów za pomocą Convert.FromBase64String. Dodatkowo wykonywane jest sprawdzenie, czy ciąg trzeba podzielić. Obsługuje to przypadki, gdy dane wejściowe mogą zawierać nagłówki, takie jak URI danych, zapewniając przetwarzanie tylko rzeczywistych danych obrazu.
Następnie te bajty są ładowane do MemoryStream. Działa to jako tymczasowy pojemnik, umożliwiając utworzenie obiektu Image bezpośrednio ze strumienia za pomocą Image.FromStream. Po załadowaniu obrazu jest on przekazywany do BarcodeReader.Read do zeskanowania.
Na koniec wynik odczytu jest zwracany wraz ze znacznikiem czasu. Do return() wyników tablicy, która zawiera listę BarcodeResults, uzyskuje się dostęp, aby zwrócić wartość pierwszego kodu kreskowego za pomocą właściwości Value.
Dowiedz się więcej o tworzeniu skanera internetowego przy użyciu IronBarcode!

